package com.atguigu.lease.web.admin.mapper;

import com.atguigu.lease.model.entity.ApartmentInfo;
import com.atguigu.lease.model.enums.ReleaseStatus;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentDetailVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentSubmitVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
* @author liubo
* @description 针对表【apartment_info(公寓信息表)】的数据库操作Mapper
* @createDate 2023-07-24 15:48:00
* @Entity com.atguigu.lease.model.ApartmentInfo
*/
public interface ApartmentInfoMapper extends BaseMapper<ApartmentInfo> {

    boolean saveOrUpdate(ApartmentInfoMapper apartmentInfoMapper);

    Page<ApartmentItemVo> customPage(IPage<ApartmentItemVo> iPage, @RequestParam("queryVo") ApartmentQueryVo queryVo);

    void saveByApartmentSubmitVo(ApartmentInfo apartmentInfo);

    ApartmentDetailVo getApartmentDetailVo(Long id);

    void updateStatusById(@Param("id") Long id, @Param("status") ReleaseStatus status);
    void updateByApartmentId(ApartmentSubmitVo apartmentSubmitVo);
}




